Implementing the Nanothreads Programming Model on Top of Posix Threads

نویسندگان

  • PANAGIOTIS E. HADJIDOUKAS
  • ELEFTHERIOS D. POLYCHRONOPOULOS
چکیده

Goal of this paper is the efficient and portable implementation of the Nanothreads Programming Model (NPM), a dependence-driven two-level threads model for shared-memory multiprocessors, on top of the POSIX Threads API. Our general approach is to combine portability with efficiency by implementing the machine dependent components of the runtime system based on POSIX threads and defining an appropriate API that any underlying non-preemptive user-level threads package should export in order to get integrated with it. We implement such a portable lightweight threads package based on POSIX calls, and then we replace this package with POSIX threads. On M:N implementation models, we exploit their lightweight process scope POSIX threads. Our approach makes the implementation of NPM fully portable while, on the other hand, provides a significant extension of POSIX threads. The portability of our work allows its experimental evaluation on several operating systems and hardware platforms.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

An implementation of the SANE Virtual Processor using POSIX threads

The SANE Virtual Processor is an abstract concurrent programming model that is both deadlock free and supports e cient implementation. It is captured by the μTC programming language. The work presented in this paper covers a portable implementation of this model as a C++ library on top of POSIX Threads. Programs in μTC can be translated to the standard C++ syntax and linked with this library to...

متن کامل

Towards a Fortran 90 Interface to the POSIX Threads Library

Pthreads is a POSIX standard established to control the spawning, execution and termination of multiple threads within a single process. Because of a much lower overhead, use of Pthreads is an attractive approach. Under this programming paradigm on a shared-memory system, threads execute within a single address space, although multiple processors may be employed to execute the various threads. ...

متن کامل

A Fortran 90 Application Programming Interface to the POSIX Threads Library

Pthreads is a POSIX standard established to control the spawning, execution, and termination of multiple threads within a single process. Because of a much lower system overhead, use of Pthreads is an attractive approach. Under this programming paradigm on a shared-memory system, threads execute concurrently within a single address space, although multiple processors may be employed to execute ...

متن کامل

PEACE Threads Interface On Microkernel

Recently, thread libraries have become powerful entities to support parallel programming on shared memory multiprocessors and multicomputers. However, the disparity between the primitives offered by the operating systems and thread’s interface creates a challenge for those who wish to create portable threads library. The implementation of PEACE (POSIX Extensions to an Advanced Computing Environ...

متن کامل

Parallel and Distributed Programming with Pthreads and Rthreads

This paper describes Rthreads (Remote threads), a software distributed shared memory system that supports sharing of global variables on clusters of computers with physically distributed memory. Other DSM systems either use virtual memory to implement coherence on networks of workstations or require programmers to adopt a special programming model. Rthreads uses primitives to read and write rem...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2003